Field oriented control of a motor with a single shunt

ABSTRACT

A method for driving a motor is provided. Pulse width modulation (PWM) signals are generated from a voltage signal and a commanded angle signal, which drives a motor with multiple phases. A motor current from a motor is measured with a single shunt and converted into a digital signal. Based on the digital signal and the commanded angle signal, direct-axis and quadrant-axis currents for the motor can be determined, and the voltage signal and the commanded angle signal can be adjusted based at least in part on the direct-axis and quadrant-axis currents.

TECHNICAL FIELD

The invention relates generally to motor control and, more particularly,to sensorless control of a permanent magnet synchronous motor (PMSM),brushless direct current motor (BLDC), or an induction motor.

BACKGROUND

Turning to FIG. 1, a conventional system 100 can be seen. This system100 generally comprises a motor controller 102, a power supply 104, aninverter 106, and a motor 108 (which is typically a PMSM, BLDC, orinduction motor). In operation, the motor controller 102 providesgenerally continuous pulse width modulation (PWM) signals (i.e., 6 PWMsignals if the motor 108 is a three-phase motor). These PWM signals areused to control the inverter 106, so that the inverter 106 can providethe commanded voltage to each phase of motor 108 from power supply 104.

The motor controller 102 provides control of motor 108 (through theapplication of the PWM signals) based on a field-oriented control (FOC)algorithm. For conventional FOC control, there are typically threecontrol loops (one speed loop and two current loops) that are employedto provide adjustments. Typically, the observer 120 forms a portion ofthe speed loop and determines a feedback speed or feedback signal ω fromthe PWM signals (provided to the inverter 106) and from the motor 108. Adifference between this feedback signal ω and a reference speed orreference signal ω* (which is determined by assert 110-1) is adjusted bythe proportional-integral (PI) controller 112-1 to generate thereference torque current i_(q)* for the quadrature axis or q-axis.Additionally, a field weakener 114 provides the reference field currenti_(d)* for the direct axis d-axis (in normal operation, i_(d)*=0 forPMSM and BLDC motors and i_(d)* is constant for induction motors). Theobserver 120 also determined the rotor position or angle and providesthe angle signal θ to the Park converter 118 and PWM controller 116. Thecurrent loops generally include the Park converter 118, which determinescurrents i_(d) and i_(q) from phase current measurements and the anglesignal θ. These currents i_(d) and i_(q) are then compared to orsubtracted from the reference current i_(d)* and i_(q)* by adders 110-2and 110-3, respectively, to generate errors ΔI_(d) and ΔI_(q). Theseerrors ΔI_(d) and ΔI_(q) can then be further adjusted by PI controllers112-2 and 112-3, and the commanded voltages V_(d) and V_(q), along withthe angle signal θ (which form a voltage command vector {right arrowover (V)}), can be used to generate the PWM signals, and generation ofthe PWM signals is usually accomplished by an inverse Parktransformation (performed by an inverse Park converter within PWMcontroller 116) and a space vector PWM generator (within the PWMcontroller 116) so as to generate three phase voltages.

Turning to FIGS. 2A and 2B, an example of the construction of a voltagecommand vector {right arrow over (V)} from the voltage signals V_(q)*and V_(d)* and the commanded angle signal θ* for a three-phase motor canbe seen. Typically, though, voltage signal V_(d)* much less than V_(q)*.The example voltage vector {right arrow over (V)} is located in sector I(having an angle σ). From this voltage vector {right arrow over (V)},there are two resultant projections T₁ and T₂ that correspond tointervals over which the vectors V1 and V2 are applied over theassociated PWM period (shown in FIG. 2B). These intervals T₁ and T₂ andvectors V1 and V2 are typically generated by a space vector PWM (SVPWM)in PWM controller 116. For this example, one-half of each of intervalsT₁ and T₂ (over which vectors V1 and V2 are applied, respectively) arelocated are at each end of the PWM period with the remainder of the PWMperiod being the zero vector V7 or V0 (where no current is flowing in adirect current link or DC-link single-shunt). For low speed and someoperations, intervals T₁ and T₂ (either one or both) are very small (asshown in FIGS. 3A and 3B), so a fast (and costly) analog-to-digitalconverter (ADC), which performed the data conversion for Park converter118, is generally employed.

Thus, there is a need for a lower cost motor controller.

Some examples of conventional systems are: U.S. Pat. No. 5,886,498; U.S.Pat. No. 7,202,629; U.S. Pat. No. 7,208,908; U.S. Pat. No. 7,339,344;U.S. Pat. No. 7,646,164; U.S. Pat. No. 7,808,201; U.S. Patent Pre-GrantPubl. No. 2010/0201298; U.S. Patent Pre-Grant Publ. No. 2011/0012544;Ancuti et al., “Sensorless V/f control of high-speed surface permanentmagnet synchronous motor drives with two novel stabilizing loops forfast dynamics and robustness,” IET Electr. Power Appl., Vol. 4, Iss. 3,2010, pp. 149-157; Itoh et al., “A comparison between V/f control andposition-sensorless vector control for the permanent magnet synchronousmotor,” Proc. of the Power Conversion Conf., 2002. PCC Osaka 2002, pg.1310-1315; and Perera et al., “A Sensorless, Stable V=f Control Methodfor Permanent-Magnet Synchronous Motor Drives”, IEEE Trans. on Ind.Appl., Vol. 39, No. 3, May/June 2003.

SUMMARY

An embodiment of the present invention, accordingly, provides a method.The method comprises generating a plurality of pulse width modulation(PWM) signals from a voltage signal and a commanded angle signal;driving a motor with the plurality of PWM signals, wherein the motor hasa plurality of phases; measuring a motor current from a motor with asingle shunt; converting the motor current to a digital signal;determining at least one of a direct-axis current and a quadrant-axiscurrent for the motor from the digital signal and the commanded anglesignal; and adjusting the voltage signal and the commanded angle signalbased at least in part on the direct-axis and quadrant-axis currents.

In accordance with an embodiment of the present invention, the methodfurther comprises generating the voltage signal and the commanded anglesignal from a reference signal.

In accordance with an embodiment of the present invention, the step ofgenerating the voltage signal and the commanded angle signal from thereference signal further comprises: generating the voltage signal from afrequency of the reference signal; and integrating the reference signalto determine the commanded angle signal.

In accordance with an embodiment of the present invention, the motorcurrent is a peak current.

In accordance with an embodiment of the present invention, the step ofdriving further comprises applying the plurality of PWM signals to aninverter.

In accordance with an embodiment of the present invention, thedirect-axis current is ∥{right arrow over (i_(R))}∥ cos θ*, wherein∥{right arrow over (i_(R))}∥ is the peak current and θ* is the commandedangle signal, and wherein the quadrant-axis current is ∥{right arrowover (i_(R))}∥ cos θ*.

In accordance with an embodiment of the present invention, the step ofdetermining at least one of the direct-axis and quadrant-axis currentsfurther comprises: determining the direct-axis current to be the motorcurrent when the commanded angle is zero; and determining thequadrant-axis current to be the motor current when the commanded angleis 270°.

In accordance with an embodiment of the present invention, an apparatusis provided. The apparatus comprises an inverter; a motor that iscoupled to the inverter; a shunt that is coupled to the inverter; avoltage generator that generates a voltage signal from a referencesignal; an integrator that generates an angle signal from the referencesignal; a feedback loop that is coupled to the shunt, wherein thefeedback loop is configured to measure a motor current from the shunt,to determine direct-axis and quadrant-axis currents from the motorcurrent and the commanded angle signal, and to generate a controlsignal; a first adder that adds the voltage signal to the controlsignal; a second adder that subtracts the control signal from thecommanded angle signal; and a PWM controller that is coupled to theinverter and that generates a plurality of PWM signals in response tooutputs from the first and second adders.

In accordance with an embodiment of the present invention, the feedbackloop further comprises: a stator circuit that measures the envelopcurrent and that determines the stator current; and a PI controller thatgenerates the control signal based at least in part on the statorcurrent measurement.

In accordance with an embodiment of the present invention, the PWMcontroller further comprises: an inverse Park converter that performs aninverse Park transformation on the voltage signal and the commandedangle signal; and a space vector PWM (SVPWM) generator that generatesthe plurality of PWM signals based at least in part on outputs from theinverse Park converter.

In accordance with an embodiment of the present invention, the statorcircuit further comprises: a measurement circuit that is coupled to theshunt; and a stator current calculator that is coupled to themeasurement circuit.

In accordance with an embodiment of the present invention, the voltagegenerator, the integrator, the first adder, the second adder, the statorcalculator, the PI controller, and the inverse Park converter areimplemented in software that is embodied on a processor and memory.

In accordance with an embodiment of the present invention, ananalog-to-digital converter (ADC) that is coupled to the shunt.

In accordance with an embodiment of the present invention, the motorcurrent is a peak current, and wherein the stator circuit furthercomprises an envelop detector coupled between the ADC and the shunt.

In accordance with an embodiment of the present invention, an apparatusis provided. The apparatus comprises an inverter; a motor that iscoupled to the inverter; a shunt that is coupled to the inverter; ameasurement circuit that is coupled to the shunt so as to measure amotor current; a processor having a memory with a computer programembodied thereon, the computer program including: computer code forgenerating a voltage signal and a commanded angle signal from areference signal; computer code for determining at least one of adirect-axis current and a quadrant-axis current for the motor from themotor current and the commanded angle signal; and computer code foradjusting the voltage signal and the commanded angle signal based atleast in part on the direct-axis and quadrant-axis currents; and a PWMgenerator that is coupled to the processor and the inverter, wherein thePWM generator receives the drive signals and generates a plurality ofPWM signals from the drive signals.

In accordance with an embodiment of the present invention, the computercode for generating the voltage signal and the commanded angle signalfrom the reference signal further comprises: computer code forgenerating the voltage signal from a frequency of the reference signal;and computer code for integrating the reference signal to determine thecommanded angle signal.

In accordance with an embodiment of the present invention, themeasurement circuit further comprises an ADC that is coupled to theshunt and the processor.

In accordance with an embodiment of the present invention, the PWMgenerator further comprises an SVPWM generator, and wherein the computerprogram further comprises computer code for performing an inverse Parktransformation on the voltage signal and the commanded angle signal.

In accordance with an embodiment of the present invention, wherein themotor current is a peak current, and wherein the measurement circuitfurther comprises an envelop detector that is coupled between the shuntand the ADC to measure the peak current, and wherein the direct-axiscurrent is ∥{right arrow over (i_(R))}∥ cos θ* wherein ∥{right arrowover (i_(R))}∥ is the peak current and θ* is the commanded angle signal,and wherein the quadrant-axis current is ∥{right arrow over (i_(R))}∥cos θ*.

In accordance with an embodiment of the present invention, the computercode for determining at least one of the direct-axis and quadrant-axiscurrents further comprises: computer code for determining thedirect-axis current to be the motor current when the commanded angle iszero; and computer code for determining the quadrant-axis current to bethe motor current when the commanded angle is 270°.

The foregoing has outlined rather broadly the features and technicaladvantages of the present invention in order that the detaileddescription of the invention that follows may be better understood.Additional features and advantages of the invention will be describedhereinafter which form the subject of the claims of the invention. Itshould be appreciated by those skilled in the art that the conceptionand the specific embodiment disclosed may be readily utilized as a basisfor modifying or designing other structures for carrying out the samepurposes of the present invention. It should also be realized by thoseskilled in the art that such equivalent constructions do not depart fromthe spirit and scope of the invention as set forth in the appendedclaims.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the present invention, and theadvantages thereof, reference is now made to the following descriptionstaken in conjunction with the accompanying drawings, in which:

FIG. 1 is a diagram of an example of a conventional system;

FIG. 2A is a vector diagram depicting an example of a command voltagevector for the system of FIG. 1;

FIG. 2B is a SVPWM diagram for the voltage vector of FIG. 2A;

FIG. 3 is a diagram of an example of a system in accordance with anembodiment of the present invention;

FIGS. 4A and 4B are diagrams of examples of configurations for the shuntof FIG. 3; and

FIGS. 5A to 5F are diagrams depicting examples of a resultant currentvector for the system of FIG. 3.

DETAILED DESCRIPTION

Refer now to the drawings wherein depicted elements are, for the sake ofclarity, not necessarily shown to scale and wherein like or similarelements are designated by the same reference numeral through theseveral views.

Turning to FIG. 3, an example of a system 200 in accordance with anembodiment of the present invention can be seen. In operation, the motorcontroller 202 provides control of motor 108 (through the application ofthe PWM signals) based on a hybrid gain and field-oriented control(FOC), and, as shown, this motor controller 202 employs a currentcontrol loop to control the motor 108. A voltage generator 207 andintegrator 209 are employed to generate the voltage signal V_(q)* andcommanded angle signal θ*, respectively, from reference speed orreference signal ω*, and the stator circuit 204 is able to determine themeasured stator currents i_(d) and i_(q) from shunt 206 and the commandangle signal θ*. The measured stator currents i_(d) and i_(q) can thenbe used by the proportional-integral (PI) controller 210 (which can becomprised of multiple PI controllers) to generate a control signal. Thevoltage signal V_(q)* and commanded angle signal θ* are then adjustedwith the output of the PI controller 210 by way of adders 208-1 and208-2, which adds and subtracts a control signal to and from the voltagesignal V_(q)* and commanded angle signal θ* (respectively). The PWMcontroller 216 then is able to convert the voltage signal V_(q)* andcommanded angle signal θ* to PWM signals (which are used to control thephases of motor 108) by way of an inverse Park converter and a spacevector PWM (SVWPM) controller. Additionally, each of the voltagegenerator 207, integrator 209, adders 208-1 and 208-2, PI controller210, inverse Park converter (which is generally part of the PWMcontroller 216), and SVPWM (which is generally part of the PWMcontroller 216) can be implemented in hardware or in software that isstored in a memory and embodied on a processor.

As a result, system 200 has a significant advantage over system 100 inthat the two shunts of system 100 (shown as the two connections to motor108) have been replaced with a single shunt 206 without the need for ahigh performance ADC and without further introduction of noise. Examplesof shunt 206 (which are labeled 206-1 and 206-2) can be seen in FIGS. 4Aand 4B. As shown, the inverter 106 is generally comprised of switches S1to S6, where each pair of switches S1/S2, S3/S4, and S5/S6 are eachcoupled to one of the phases of the motor 108, and a resistor R1 canform the shunt 206. For the configuration shown in FIG. 4A, resistor R1for shunt 206-1 is coupled to each pair of switches S1/S2, S3/S4, andS5/S6 (and each phase of motor 108), and for the configuration shown inFIG. 4B, resistor R1 is coupled to one of the switch pair S1/S2(although resistor R1 can be coupled to any of the switch pairs S1/S2,S3/S4, or S5/S6.

Additionally, the Park converter 118 has been replaced with statorcircuit 204. The stator circuit 204 generally includes an ADC (where theshunt 206 and ADC can collectively be considered to be a measurementcircuit) and stator current calculator (which can be implemented inhardware or software). Depending on the configuration of the shunt 206(namely, if shunt 206-1 is employed), stator circuit 204 can alsoinclude an envelop detector. By having this arrangement, statorcalculator does not perform a Park transformation, but, instead, candirectly calculate the stator currents i_(d) and i_(q). Typically, forshunt 206-1, a hardware envelop detector (which can detect an envelopcurrent by eliminating narrow pulses and noises or a peak current) isemployed, and, for both shunt 206-1 and 206-2, the envelop detector canbe implemented in software or hardware.

To preface, for a typical Park transformation (as shown in equation (1)below), stator currents i_(d) and i_(q) are constructed or calculatedfrom two or three phases (of a three phase motor, for example) and acommanded angle signal θ*.

$\begin{matrix}{\begin{pmatrix}i_{d} \\i_{q}\end{pmatrix} = {\frac{2}{3}\begin{pmatrix}{\cos\;\theta^{*}} & {\cos\left( {\theta^{*} - \frac{2\pi}{3}} \right)} & {\cos\left( {\theta^{*} + \frac{2\pi}{3}} \right)} \\{{- \sin}\;\theta^{*}} & {- {\sin\left( {\theta^{*} - \frac{2\pi}{3}} \right)}} & {- {\sin\left( {\theta^{*} + \frac{2\pi}{3}} \right)}}\end{pmatrix}\begin{pmatrix}i_{a} \\i_{b} \\i_{c}\end{pmatrix}}} & (1)\end{matrix}$This is the transformation undertaken by Park converter 118 of system100, and elimination of one or two of the shunts (so as to use thesingle shunt 206) is very difficult using the arrangement of FIG. 1.Yet, this is achievable with the use of envelop circuit 204 (which isgenerally comprised of an envelop detector and ADC) if someapproximations are made.

Looking to the voltage vector {right arrow over (V)} of FIGS. 2A and 2Bas an example to illustrate the approximations used by the system 200,the motor equations in the synchronous frame are:

$\begin{matrix}{{V_{d} = {{i_{d}R_{s}} + {L_{d} \cdot \frac{\mathbb{d}i_{d}}{\mathbb{d}t}} - {\omega\Psi}_{q}}},} & (2) \\{{V_{q} = {{i_{q}R_{s}} + {L_{q} \cdot \frac{\mathbb{d}i_{q}}{\mathbb{d}t}} + {\omega\Psi}_{d}}},} & (3) \\{{\Psi_{d} = {{i_{d}L_{d}} + \Psi_{m}}},{and}} & (4) \\{{\Psi_{q} = {i_{q}L_{q}}},} & (5)\end{matrix}$where ω is the angular speed, V_(d) and V_(q) are stator voltages forthe d-axis and q-axis, respectively, Ψ_(d) and Ψ_(q) are flux linkagesfor the d-axis and q-axis, respectively, L_(d) and L_(q) are statorinductances for the d-axis and q-axis, respectively, Ψ_(m) is the fluxlinkage of the permanent magnet, and R_(s) is the stator resistance.Because stator inductances L_(d) and L_(q) are small while current i_(q)is small, flux linkage Ψ_(d) is approximately equal to flux linkage ofthe permanent magnet Ψ_(m), while flux linkage Ψ_(q) is approximatelyequal to zero. As a result, equations (2) through (5) can be reduced asfollows:

$\begin{matrix}{{V_{d} = {{{i_{d}R_{s}} + {L_{d} \cdot \frac{\mathbb{d}i_{d}}{\mathbb{d}t}} - {\omega\Psi}_{q}} \approx {i_{d}R_{s}} \approx 0}},} & (6) \\{{V_{q} = {{{i_{q}R_{s}} + {L_{q} \cdot \frac{\mathbb{d}i_{q}}{\mathbb{d}t}} + {\omega\Psi}_{d}} \approx {{i_{q}R_{s}} + {\omega\Psi}_{d}} \approx {\omega\Psi}_{d}}},} & (7) \\{{\Psi_{d} = {{{i_{d}L_{d}} + \Psi_{m}} \approx \Psi_{m}}},{and}} & (8) \\{{\Psi_{q} = {{i_{q}L_{q}} \approx 0}},} & (9)\end{matrix}$From equations (6) and (7), the magnitude of voltage vector {right arrowover (V)} is:∥{right arrow over (V)}∥≈V _(q)≈ωΨ_(m),  (10)Thus, from equation (10), the rotor quadrant position is approximatelyin alignment with the resultant voltage command (i.e., voltage vector{right arrow over (V)}) in stable control of a motor 108 (which can, forexample, be a PMSM, BLDC motor, or induction motor).

From this, it follows that stator currents i_(d) and i_(q) can bedetermined from a current measurement and the commanded angle signal θ*.Turning back to equation (1) and employing either shunt 206-1 or 206-2,when phase a (for example) reaches a peak, then the resultant currentvector {right arrow over (i_(R))} is aligned with the a-axis (as shownin FIG. 5A) or anti-aligned with the a-axis (as shown in FIG. 5B). Themeasurement by shunt 206 should then be at a peak, that is:max(i _(a))=∥{right arrow over (i _(R))}∥  (11)Stator currents i_(d) and i_(q), then, arei _(d)=∥{right arrow over (i _(R))}∥ cos θ*  (12)i _(q)=∥{right arrow over (i _(R))}∥ sin θ*  (13)Because stator circuit 204 determines a peak current, the stator currentcalculator (within envelop circuit 204) is able to use the peak current(which is ∥{right arrow over (i_(R))}∥) in conjunction with thecommanded angle signal θ* to generate a control signal. Thus, it becomespractical to determine stator currents i_(d) and i_(q) withoutperforming a Park transformation or a narrow ADC pulse.

Alternatively, when shunt 206-1 or 206-2 is employed, the rotor positionmay be used instead of a peak current to directly calculate currentsi_(d) and i_(q). Turning, again, back to equation (1), when thecommanded angle signal θ* becomes 0, the equation (1) becomes:

$\begin{matrix}{{\left. {i_{d} = {\frac{2}{3}\begin{pmatrix}{\cos\; 0} & {\cos\left( {- \frac{2\pi}{3}} \right)} & {\cos\left( {+ \frac{2\pi}{3}} \right.}\end{pmatrix}}} \right)\begin{pmatrix}i_{a} \\i_{b} \\i_{c}\end{pmatrix}} = {{\frac{2}{3}\left( {i_{a} - {\frac{1}{2}i_{b}} - {\frac{1}{2}i_{c}}} \right)} = i_{a}}} & (14)\end{matrix}$This means that the vector for current i_(d) is aligned with the a-axis(as shown in FIG. 5C). Similarly, (as shown in FIGS. 5D through 5F), thestator currents i_(d) and i_(q) become:

$\begin{matrix}{{i_{q} = {{{- i_{a}}\mspace{14mu}{for}\mspace{14mu}\theta^{*}} = {\frac{\pi}{2} = {90{^\circ}}}}}{i_{d} = {{{- i_{a}}\mspace{14mu}{for}\mspace{14mu}\theta^{*}} = {\pi = {180{^\circ}}}}}{i_{q} = {{i_{a}\mspace{14mu}{for}\mspace{14mu}\theta^{*}} = {\frac{3\pi}{2} = {270{^\circ}}}}}} & (15)\end{matrix}$Again, it becomes practical to use the configuration for both shunts206-1 and 206-2 and determine stator currents i_(d) and i_(q) withoutperforming a Park transformation.

Having thus described the present invention by reference to certain ofits preferred embodiments, it is noted that the embodiments disclosedare illustrative rather than limiting in nature and that a wide range ofvariations, modifications, changes, and substitutions are contemplatedin the foregoing disclosure and, in some instances, some features of thepresent invention may be employed without a corresponding use of theother features. Accordingly, it is appropriate that the appended claimsbe construed broadly and in a manner consistent with the scope of theinvention.

The invention claimed is:
 1. An apparatus comprising: an inverter; amotor that is coupled to the inverter; a shunt that is coupled to theinverter; a voltage generator that generates a voltage signal from areference signal; an integrator that generates an angle signal from thereference signal; a feedback loop that is coupled to the shunt, whereinthe feedback loop is configured to measure a motor current from theshunt, to determine direct-axis and quadrant-axis currents from themotor current and the commanded angle signal, and to generate a controlsignal; a first adder that adds the voltage signal to the controlsignal; a second adder that subtracts the control signal from thecommanded angle signal; and a PWM controller that is coupled to theinverter and that generates a plurality of PWM signals in response tooutputs from the first and second adders.
 2. The apparatus of claim 1,wherein the feedback loop further comprises: an stator circuit thatmeasures the motor current and that determines the stator current; and aPI controller that generates the control signal based at least in parton the stator current measurement.
 3. The apparatus of claim 2, whereinthe PWM controller further comprises: an inverse Park converter thatperforms an inverse Park transformation on the voltage signal and thecommanded angle signal; and a space vector PWM (SVPWM) generator thatgenerates the plurality of PWM signals based at least in part on outputsfrom the inverse Park converter.
 4. The apparatus of claim 3, whereinthe stator circuit further comprises: a measurement circuit that iscoupled to the shunt; and a stator current calculator that is coupled tothe measurement circuit.
 5. The apparatus of claim 4, wherein thevoltage generator, the integrator, the first adder, the second adder,the stator calculator, the PI controller, and the inverse Park converterare implemented in software that is embodied on a processor andnon-transitory memory.
 6. The apparatus of claim 5, wherein themeasurement circuit further comprises an analog-to-digital converter(ADC) that is coupled to the shunt.
 7. The apparatus of claim 6, whereinthe motor current is a peak current, and wherein the stator circuitfurther comprises an envelope detector coupled between the ADC and theshunt.